<template>
  <div>
    <header class="site-header jumbotron">
      <div class="container">
        <div class="row">
          <div class="col-xs-12">
            <h1>请发表对Vue的评论</h1>
          </div>
        </div>
      </div>
    </header>
    <div class="container">
      <AddComment :addComment="addComment" />
      <CommentList :comments="comments" :delComment="delComment"/>
    </div>
  </div>
</template>

<script>
import AddComment from "./views/AddComment";
import CommentList from "./views/CommentList";
/*
  什么时候要定义data数据？
    有没有用户界面的变化，有变化就要定义
  数据定义再哪个组件？
    如果数据只有一个组件使用，就定义这个组件内部
    如果数据有多个组件使用，就定义再多个组件公共的父组件中
  实现功能：
    优先实现数据展示
    在实现其他
*/

export default {
  name: "App",
  data() {
    return {
      comments: [
        { id: 1, name: "华哥", content: "我喜欢静哥" },
        { id: 2, name: "静哥", content: "我喜欢雷哥" },
      ],
    };
  },
  methods: {
    // 添加评论
    addComment(name, content) {
      this.comments.unshift({
        id: Date.now(),
        name,
        content,
      });
    },
    // 删除评论
    delComment(id) {
      this.comments = this.comments.filter((comment) => comment.id !== id);
    },
  },
  components: {
    AddComment,
    CommentList,
  },
};
</script>

<style></style>